Interactive image thumbnails

ABSTRACT

A computer-implemented method displaying, within a user interface, a view pane having a vertical direction and a horizontal direction, displaying, within the view pane, a first frame represented by a bounded region, wherein the first frame represents a container that comprises one or more objects, upon detecting a positioning of a cursor at a position in the poster frame, displaying an object of the one or more objects in the frame, the displayed object varying based on the position of the cursor, upon detecting a selection of the first frame, displaying a second frame, represented by a second bounded region, adjacent to the second frame, and displaying the displayed object in the second frame.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/030,733 filed on Feb. 18, 2011 entitled “Interactive ImageThumbnails”, which is a continuation of U.S. Pat. No. 7,895,533, whichissued from U.S. Utility application Ser. No. 11/834,570, filed on Aug.6, 2007, and entitled “Interactive Image Thumbnails,” which is acontinuation-in-part of U.S. Pat. No. 8,276,098 which issued from andclaims the benefit, of U.S. Utility application Ser. No. 11/685,672,filed on Mar. 13, 2007, and entitled “Interactive Image Thumbnails,” theentire disclosure of which is incorporated herein by reference.

TECHNICAL FIELD

In general, this document describes systems and techniques forpresenting electronic images such as digital or digitized photographs.

BACKGROUND

Digital photography has simplified taking, viewing, and printingphotographs. Photographs can be taken either using high-end equipmentsuch as digital single lens reflex (SLR) cameras, low resolution camerasincluding point-and-shoot cameras and cellular telephone instrumentswith suitable capabilities. Photographs can be transferred eitherindividually as files or collectively as folders containing multiplefiles from the cameras to other media including computers, printers, andstorage devices.

Software applications, such as iPhoto (manufactured by Apple Computer,Inc. of Cupertino, Calif.), can be used to arrange, display, and editdigital photographs obtained from a camera or any other electronic imagein a digital format. Such software applications provide a user inpossession of a large repository of photographs with the capabilities toorganize, view, and edit the photographs. Users can organize photographsinto albums and create slide shows to view the albums. Softwaremanufacturers regularly add features to the software so that frequentoperations, including transferring photographs from the device to acomputer, and arranging and displaying the photographs, are relativelyeasy for an average user to perform.

SUMMARY

In one example, a system can upload multiple albums of images, displayeach album as a thumbnail in a user interface, represent each album byan image in the album, and allow a user to scan the images in the albumby moving a cursor across the thumbnail representing the album. Inaddition, the system can display a window adjacent to the thumbnailrepresenting the album, and display, in the window, images that aredisplayed in the thumbnail representing the album. The displayed windowcan be larger than the thumbnail, thereby serving as a magnifying windowto view images in the album. Further, a user can select images displayedin the magnifying window, e.g., to mark the images for grouping.

In one aspect, a computer-implemented method is described. The methodincludes displaying, within a user interface, a view pane having avertical direction and a horizontal direction, displaying, within theview pane, a first frame represented by a bounded region, wherein thefirst frame represents a container that comprises one or more objects,upon detecting a positioning of a cursor at a position in the posterframe, displaying an object of the one or more objects in the frame, thedisplayed object varying based on the position of the cursor, upondetecting a selection of the first frame, displaying a second frame,represented by a second bounded region, and displaying the displayedobject in the second frame.

This, and other aspects, can include one or more of the followingfeatures. The second frame can be displayed adjacent to the first frame.The first frame can include a poster frame. The dimensions of the secondframe can be greater than dimensions of the first frame. The method caninclude, upon detecting a positioning of the cursor at a new position onthe first frame, displaying a new displayed object of the one or moreobjects in the first frame, the new object corresponding to the newposition of the cursor, and displaying the new displayed object in thesecond frame. The method can further include detecting the selection ofthe second frame. The method can further include displaying a toolwithin the second frame, the tool configured to enable a user to selectthe second frame. Detecting the selection of the second frame caninclude positioning the cursor over the tool, and selecting the tool.Selecting the second frame can enable including the displayed object ina group. The method can further include, upon displaying the secondframe, dividing the first frame into a first portion and a secondportion. The method can further include, upon determining thepositioning of the cursor over the first portion, displaying an objectcorresponding to a position of the cursor over the first portion in thefirst frame and the second frame. The method can further include, upondetermining the positioning of the cursor over the second portion,displaying a grid in the first frame, the grid serving as a visual cueindicating the accessibility of the one or more objects in the containerrepresented by the first frame. The method can further include enablingthe user to access the one or more objects in the container representedby the first frame when the user selects the first frame upon viewingthe grid. The grid can be an array including a plurality of rectangularregions. An object in the container represented by the first frame canbe displayed in a rectangular region of the plurality of rectangularregions. The dimensions of the first portion can be larger thandimensions of the second portion. The dimensions of the first portioncan be two-thirds the dimensions of the first frame. Selecting the firstframe can include clicking a pointing device configured to control thepositioning of the cursor.

In another aspect, a medium bearing instructions to enable one or moremachines to perform operations is described. The operations includedisplaying, within a user interface, a view pane having a verticaldirection and a horizontal direction, displaying, within the view pane,a first frame represented by a bounded region, wherein the first framerepresents a container that comprises one or more objects, upondetecting a positioning of a cursor at a position in the poster frame,displaying an object of the one or more objects in the frame, thedisplayed object varying based on the position of the cursor, upondetecting a selection of the first frame, displaying a second frame,represented by a second bounded region, and displaying the displayedobject in the second frame.

This, and other aspects, can include one or more of the followingfeatures. The second frame can be displayed adjacent to the first frame.The first frame can include a poster frame. The dimensions of the secondframe can be greater than dimensions of the first frame. The operationscan include, upon detecting a positioning of the cursor at a newposition on the first frame, displaying a new displayed object of theone or more objects in the first frame, the new object corresponding tothe new position of the cursor, and displaying the new displayed objectin the second frame. The operations can further include detecting theselection of the second frame. The method can further include displayinga tool within the second frame, the tool configured to enable a user toselect the second frame. Detecting the selection of the second frame caninclude positioning the cursor over the tool, and selecting the tool.Selecting the second frame can enable including the displayed object ina group. The operations can further include, upon displaying the secondframe, dividing the first frame into a first portion and a secondportion. The operations can further include, upon determining thepositioning of the cursor over the first portion, displaying an objectcorresponding to a position of the cursor over the first portion in thefirst frame and the second frame. The operations can further include,upon determining the positioning of the cursor over the second portion,displaying a grid in the first frame, the grid serving as a visual cueindicating the accessibility of the one or more objects in the containerrepresented by the first frame. The operations can further includeenabling the user to access the one or more objects in the containerrepresented by the first frame when the user selects the first frameupon viewing the grid. The grid can be an array including a plurality ofrectangular regions. An object in the container represented by the firstframe can be displayed in a rectangular region of the plurality ofrectangular regions. The dimensions of the first portion can be largerthan dimensions of the second portion. The dimensions of the firstportion can be two-thirds the dimensions of the first frame. Selectingthe first frame can include clicking a pointing device configured tocontrol the positioning of the cursor.

The systems and techniques described here may provide one or more of thefollowing advantages. Several images taken over a period of time can begrouped and collectively uploaded as albums. Each album can be acontainer represented by a poster frame on a user interface, where theposter frame is an image in the container. This can meaningfullyrepresent a container containing images and allow users to identify thecontainer based on the representative image depicting the container.Further, each container can be represented by a poster frame and theposter frames representing containers can be arranged within the userinterface to indicate the chronological order in which the images weretaken. The poster frames can be wrapped within the viewable area of theuser interface to avoid horizontal scrolling within the user interfaceto access poster frames. In addition, the images within a poster framescan be viewed by placing a cursor on a display device operated by apointing device, such as a mouse, at a desired position on a posterframes representing the container. Multiple images in a container can bescanned by moving the cursor across the poster frames representing thecontainer. Furthermore, the management of large repositories of imagescan be simplified.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features andadvantages will be apparent from the description and drawings, and fromthe claims.

DESCRIPTION OF DRAWINGS

FIG. 1A is an example of a schematic of a user interface to displaycontainers containing images.

FIG. 1B is an example of a schematic of a first image in a containercorresponding to a first position of a cursor.

FIG. 1C is an example of a schematic of a second image in a containercorresponding to a second position of a cursor.

FIG. 1D is an example of a schematic of a third image in a containercorresponding to a third position of a cursor.

FIG. 1E is an example of a schematic of a fourth image in a containercorresponding to a fourth position of a cursor.

FIG. 1F is an example of a schematic of a fifth image in a containercorresponding to a fifth position of a cursor.

FIG. 2A is an example of a schematic of boundaries between containers.

FIG. 2B is an example of a schematic of boundaries between containers.

FIG. 2C is an example of a schematic of boundaries between containers.

FIG. 3 is a flow chart of an example of a method of arranging posterframes in a view pane.

FIG. 4 is a flow chart of an example of a method of previewing images ina container represented by a poster frame.

FIG. 5 is an example of contents of a container displayed in an overviewmode.

FIGS. 6A-6D are examples of containers and corresponding magnifyingframes.

FIG. 7 is an example of a magnifying frame displaying a selection tool.

FIGS. 8A and 8B are examples of displays of a container depending oncursor position on the poster frame representing the container.

FIG. 9 is a flow chart of an example of a method for displayingcontainers and corresponding magnifying frames.

FIG. 10 is a flow chart of an example of a method for enabling a user toselect an image displayed in a magnifying frame.

FIG. 11 is a flow chart of an example of a method for altering thedisplay of a container based on cursor position in the container.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1A depicts an example of a user interface 100 to display containersof images. An image can include digitized and/or digital photographs. Inaddition, an image can also include any electronic image regardless ofhow it was generated, e.g., a CAD drawing, a scanned hand drawing, andthe like. The user interface 100 includes a view pane 105. The view pane105 includes one or more poster frames 110, where each poster frame 110represents a container containing one or more images. In someimplementations, an view pane 105 serves as a background on which posterframes 110 can be positioned. The view pane 105 can be assigned adisplay parameter, e.g., a color. Alternatively, a user can alter thedisplay parameter of the view pane 105. A poster frame 110 has ahorizontal dimension and a vertical dimension. All poster frames 110 canbe displayed in a landscape orientation, namely with the horizontaldimension greater than the vertical dimension. In other implementations,all poster frames 110 can be displayed in a portrait orientation. Inaddition, a user can alter the orientation of the poster frames 110,either individually or collectively. In other implementations, a usercan crop the poster frames so that the poster frames are square inshape. In some implementations, the user interface 100 can include aproject pane 115. The project pane 115 can display metadata related toone or more of the poster frames 110 displayed in the view pane 105. Forexample, the project pane 115 can display a list of the latestcontainers that were accessed using the application. In someimplementations, when a user creates a new container, an icon indicatingthe new container can be displayed in the project pane 115.

The user interface 100 can include an information pane 120. Theinformation pane 120 can display metadata related to the most recentlyaccessed poster frames 110. In some implementations, the informationpane 120 can display metadata related to the poster frame 110 currentlybeing accessed. For example, a poster frame 110 can display multipleimages taken at several time instances. The information pane 120 candisplay information including the time stamps of the first and lastimages in the container represented by a poster frame 110, the number ofimages in the container, the size of the container (e.g., in gigabytes),and the like.

The user interface 100 can include a tool bar 125. The tool bar 125 caninclude one or more user control buttons 130. The user control buttons130 can be configured to perform operations including rotate, scan,start slide show, and the like upon activation, e.g., clicking by auser. The tool bar 125 can also include a slider 135 configured to alterthe dimensions of a poster frame based on input. In someimplementations, the slider 135 can include a pointer 137 that can bemoved. The position of a pointer 137 on the slider 135 can correspond tothe dimensions of a poster frame 110. A user can alter the position ofthe pointer 137 using the cursor on the display device. In someimplementations, the user can move the pointer 137 on the slider 135 byplacing the cursor on the pointer 137, and dragging the pointer 137. Inresponse to a change in the position of the pointer 137 on the slider135, the dimensions of each poster frame 110 can be altered. A cursorcan be represented by a conventional display 145 when positioned awayfrom the poster frame 110. The conventional display can include anarrow.

In some implementations, a poster frame 110 can be represented by one ofthe images contained in the poster frame 110. When the container thatthe poster frame 110 represents is first uploaded for display on theview pane 105, the first image in the container can be assigned torepresent the poster frame 110. Alternatively, any image in thecontainer can be assigned to represent the poster frame 110. In someimplementations, a user can rate the images in a container. The ratingsof the images can be tracked and the poster frame 110 can be representedby the image with the highest rating. In other implementations, the userinteractions with a container can be tracked. For example, a user mayview one or more images in a container more often than other images inthe container. An image viewed more often than the others can be used torepresent the poster frame 110. In some implementations, a higherresolution image can be assigned to represent the container. In otherimplementations, a user can assign an image to represent a poster frame110. The image representing a poster frame 110 can change over time dueto one or more factors including addition of new images, deletion of oldimages, frequency of viewing, and the like.

The containers can be arranged in an order that can depend on factorsincluding a name assigned to the container, a time stamp on the imagesin the container, and the like. Names can be assigned to containers bythe cameras using which the images in the containers were taken. In adefault implementation, the containers can be uploaded under the samename as that assigned to the containers by the cameras. The containerscan be displayed chronologically in the order in which the images in thecontainers were taken based on the time stamp on each time image and/oreach container. Alternatively, the containers can be displayedalphabetically based on the container names.

In some implementations, the poster frames 110 can be arranged in anorder beginning from a position substantially adjacent to the leftvertical edge of the view pane 105. The first poster frame 110 can bedisplayed substantially adjacent to the top left hand corner of the viewpane 105. A new poster frame 110 can be positioned to the right of apreviously displayed poster frame 110 in the same row as the firstposter frame 110. In this manner, the poster frame 110 can be arrangedfrom left to right in a row. The default horizontal and verticaldimensions of all the poster frame 110 can be pre-determined and can beuniform. In a default implementation, the assigned horizontal andvertical dimensions may correspond to a central location of the pointer137 on the slider 135. Two frames displayed on the same row can beseparated by a pre-determined space.

In some implementations, as poster frames 110 are arranged in a row,each frame separated by a system assigned space, the sum of thehorizontal dimensions of the poster frames 110 in a row and the spacesbetween the poster frames 110 in the row can exceed the availablehorizontal dimension of the view pane 105. Consequently, a poster frame110 can be positioned substantially adjacent to the right vertical edgeof the view pane 105. In such cases, the next poster frame 110 can bewrapped and displayed as the first poster frame 110 in a new rowvertically displaced from the first row. The position of the firstposter frame 110 in a new row can be substantially vertically alignedwith that of the first poster frame 110 in the previous row. The spacebetween rows can be pre-determined and uniform for all rows. Thus,multiple poster frames 110 can be arranged within the horizontalviewable region of a view pane 105. In this manner, the need to scrollhorizontally to view poster frames 110 that are outside the viewing areaof the view pane 105 can be avoided. In addition, the order of displayof the poster frames 110 can correspond to an order in which the imagesin the corresponding containers were taken. The progression of time cancorrespond to the position of the poster frames 110 going from left toright in the horizontal direction and top to bottom in the verticaldirection.

A user may wish to alter the order of display of poster frames 110 inthe view pane 105. Such alterations can include adding a new posterframe 110, removing, repositioning, resizing a displayed poster frame110, and the like. In a default implementation, containers can bedetected and uploaded in the view pane 105. A file can be identified tobe an image based on the file type, e.g., JPG, TIFF, GIF, DWG, and thelike. All the detected containers can be displayed in the view pane 105.In other implementations, a user can select the containers that the userwishes to display in the view pane 105. In some implementations,uploading and displaying containers as poster frames 110 can be acombination of automatic detection and choices by a user.

A user may wish to remove one or more poster frames 110 displayed in theview pane 105. The 110 that the user wishes to remove may be adjacent toeach other. Alternatively, the positions of the poster frames 110 may benon-adjacent to each other on a same row or on different rows. Theposter frames 110 can be selected individually or as a group. In someimplementations, the user can remove the poster frames 110 by pressingthe “Delete” key on a key board. In other implementations, the user maydrag the selected poster frames 110 and drop them into a locationoutside the view pane 105 (e.g., Trash, Recycle Bin). When a posterframe 110 is deleted from display, the remaining poster frames 110 canbe repositioned to occupy the void created by the deleted poster frame110. For example, if two rows of poster frames 110, each row containingfive poster frames 110, are displayed in a view pane and if a userdeletes the fourth poster frame 110 in the first row, the fifth posterframe 110 can be repositioned in the first row to occupy the voidcreated by the deleted frame. Further, the first poster frame 110 in thesecond row can be repositioned to the fifth poster frame 110 in thefirst row. In this manner, all poster frames 110 in a view pane 105 canbe displayed as a continuous sequence.

In some implementations, a user can change the position of a posterframe 110 in the view pane 105. A user can select a poster frame 110,drag the poster frame 110 from a present position and insert the posterframe 110 in a new position. Further, the position of all the posterframes 110 can be shifted either to the right, to a new row, or asrequired so that all poster frames 110 in a view pane are displayed as acontinuous sequence.

When the sum of the vertical dimensions of poster frames 110 in rows andthe spaces between the rows exceeds the vertical dimension of the viewpane 105, a vertical scroll bar 140 can be incorporated in the userinterface 100 to permit vertical scrolling to view poster frames thatlie outside the area of the view pane 105. In some implementations, thecontents of the view pane 105 can be vertically scrolled by placing acursor on the vertical scroll bar 140 and dragging the bar.Alternatively, or in addition, a key board can be used to verticallyscroll the view pane 105. A user can vertically scroll one or more rowsby pressing a single key (e.g., arrow key) or a combination of keys(e.g., “command”+“home”, “command”+“end”, and the like). In otherimplementations, the user can pan the view pane 105 by placing thecursor anywhere on the view pane 105 and dragging the pane in a verticaldirection.

In some implementations, moving the slider 135 from left of the userinterface 100 to the right of the user interface 100 can cause anincrease in the dimensions of each poster frame 110 and vice versa. Asthe dimensions of poster frames 110 in a row are increased using theslider 135, the horizontal and vertical dimensions of each poster frame110 can be uniformly increased. The space between frames in the same rowand between rows can also be uniformly increased to maintain theaesthetics of display and simplify viewing. In other implementations,the space between frames may be constant. As the dimensions of posterframes 110 in a row increase, the horizontal dimension of the row alsoincreases. The horizontal dimension of the view pane 105 may beinsufficient to display the poster frames 110 of larger dimensions inthe same row. In such cases, the poster frame 110 on the right extremeof a row can be wrapped to the next row. All frames in the view pane 105can be repositioned to accommodate the displaced frame while maintainingthe order in which the poster frames 110 are displayed.

In some implementations, metadata related to each poster frame 110 canbe displayed adjacent to each poster frame 110, for example, in thespace between two rows. The metadata can include, the name of the posterframe 110 which can be either a system default name or a user-definedname, a time stamp, the number of photos in the poster frame, and thelike. When a user deletes or repositions a poster frame 110, themetadata corresponding to the poster frame 110 can also be deleted orrepositioned, respectively.

A poster frame 110 that corresponds to a container can include one ormore images. In some implementations, the images in a container can bephotographs that may have been taken over a period of time. The order inwhich cameras used to take photographs store the photographs can bechronological with the earliest taken photograph stored first.Alternatively, the order can be alphabetical, based on the file nameassigned to each photograph. The photographs can be imported in an ordersame as the one in which the photographs are saved in the camera.Subsequently, the order in which the photographs are stored can bealtered based on user input. Such alterations can include re-arrangingthe position of the photograph in the container, changing the nameassociated with a photograph and arranging the photographsalphabetically, and the like. In other implementations, the images in acontainer can be electronic images such as CAD drawings. The drawingscan be assigned file names either automatically or based on user input.The drawings can be imported in an alphabetical order based on theassigned file name. Subsequently, the order can be altered by operationsincluding altering the file name, re-arranging the position of thedrawing, and the like. When the poster frames 110 are displayed in theview pane 105, previewing the images contained in each poster frame 110can be enabled. In response to placing a cursor at a position on theposter frame 110, an image contained in the poster frame 110 can bedisplayed in place of the image assigned to represent the poster frame110.

FIGS. 1B-1F depict examples of schematics of previewing images in posterframes 110. In some implementations, when the user places the cursor ona poster frame 110, an image contained in the poster frame 110 can bedisplayed in place of the image assigned to represent the poster frame110 (FIG. 1B). Further, the display of the cursor can be altered fromthe conventional display 145 to a specific display 150. An order inwhich the images in a container are stored can be related to a positionof the cursor on the poster frame 110 representing the container. Insome implementations, the left edge of the poster frame 110 cancorrespond to the first image in the container. Similarly, the rightedge of the poster frame 110 can correspond to the last image in thecontainer. If the cursor is placed at the left edge of the poster frame110, the first image in the container can be displayed in place of theimage assigned to represent the poster frame 110. When the cursor isplaced at the right edge of the poster frame 110, the last image can bedisplayed in the container in place of the image assigned to representthe poster frame 110. As the cursor is moved from the left edge to theright edge, the display of the poster frame 110 can be continuouslyupdated with images from the beginning to the end of the container, suchthat the displayed image corresponds to the position of the cursor onthe poster frame 110. In this manner, by scanning the cursor across theposter frame 110 from left to right, the user can preview, frombeginning to finish, all the images in the container represented by theposter frame 110. Similarly, when the cursor is scanned from the rightedge to the left edge of the poster frame 110, the images in thecontainer represented by the poster frame 110 can be previewed from thefinish to the beginning. In some implementations, the images can bedisplayed within the bounded region of a poster frame such that thehorizontal and vertical dimensions of the previewed image equal those ofthe poster frame 110 in place of which the image is displayed.

In some implementations, when the cursor is scanned across a posterframe 110 and moved away from the poster frame 110, the display of theposter frame 110 can be restored to the image assigned to represent theposter frame 110. In other implementations, the display of the posterframe 110 can be restored to the image assigned to represent the posterframe 110 depending on the position of the cursor on the poster frame.In other implementations, the user can be provided with an option toeither preview images in a container represented by a poster frame byscanning over the poster frame or to only view the image assigned torepresent the poster frame 110 when the cursor is scanned across theposter frame 110. In other implementations, the most recent image in theposter frame 110 that was previewed by scanning can be displayed. Inother implementations, a user can choose an image to represent a posterframe. The user may position the cursor at a location on the posterframe to preview the image in the poster frame. The user can set thepreviewed image to represent the poster frame by striking a key, e.g.,“Command” key. Alternatively, the user can set the image to representthe poster frame using the pointing device to operate the cursor. Acursor can be operated using virtually any suitable pointing device(e.g., mouse, track ball, stylus, touch screen, touch pad). The imagesin the container can be previewed by a simply moving the cursor acrossthe poster frame 110 using the pointing device without requiringadditional operation, such as clicking a mouse at any position on theposter frame 110 representing the container.

In some implementations, as the user moves the cursor across a posterframe 110, the display of the cursor can be altered from a conventionaldisplay (e.g., an arrow) to a specific display, e.g., an arrow includingan image. Upon detecting that the cursor has been positioned over aposter frame 110, the display of the cursor can be automatically changedfrom the conventional display to the specific display. This can indicatethat a poster frame 110 is being previewed. In some implementations, thespecific display can be defined by the system. In other implementations,the specific display can be altered by the user. For example, the usercan have a database of displays. The user can use one of the displays asthe specific display. In other implementations, the user can define aspecific display for each poster frame. Alternatively, the user candefine multiple displays for the same poster frame. The user can definea first specific display for a second group of poster frames and asecond specific display for a second group of poster frames. In someimplementations, a plurality of specific displays can be configured suchthat the specific display of the cursor is altered based on arelationship between the images being previewed. For example, thespecific display, during preview, of images in a container that share acommon attribute value, such as a date when the images were created, canbe common. The relationship between images that share a common specificdisplay can be pre-determined. Alternatively, the relationship can bespecified by a user. In some implementations, the specific display andthe conventional display can be simultaneously displayed when the cursoris positioned over a poster frame. When the cursor is moved away fromthe poster frame, only the conventional display can be displayed.

In addition FIG. 1A depicts a preview scroll bar. In someimplementations, the preview scroll bar 155 can be incorporated into theposter frame 110. In one example, the orientation of the preview scrollbar 155 can be horizontal. The horizontal preview scroll bar 155 can bepositioned adjacent to the bottom edge of the poster frame 110. Thepreview scroll bar 155 can be positioned within the bounded region ofthe poster frame 110. Alternatively, the preview scroll bar can bepositioned outside the bounded region of the poster frame 110. In otherimplementations, the horizontal preview scroll bar can be positionednear the top edge either within or outside the bounded region of theposter frame 110. Alternatively, the orientation of the preview scrollbar 155 can be vertical and the vertical scroll bar can be positionedeither near the left edge or the right edge of the poster frame 110,inside or outside the bounded region of the poster frame 110, orcombinations of the same. In some implementations, the preview scrollbar 155 can appear when the cursor is positioned over the poster frame110. When the cursor is moved away from the poster frame 110, thepreview scroll bar 155 can disappear. In other implementations, apreview scroll bar 155 can always be displayed. In otherimplementations, a preview scroll bar 155 can be displayed when thenumber of images in a container represented by the poster frame exceedsone.

The preview scroll bar 155 can include a preview pointer 160 within thebounded region of the preview scroll bar 155. A user can alter theposition of a preview pointer 160 in the preview scroll bar 155 usingthe cursor operated by the suitable pointing device. The position of thepreview pointer 160 in the preview scroll bar 155 can correspond to animage in the container such that as the position of the preview pointer160 in the preview scroll bar 155 is altered, the image displayed in thebounded region of the poster frame 110 is also altered. In someimplementations, the size of the preview pointer 160 in the previewscroll bar 155 can correspond to the number of images in the containerrepresented by the poster frame 110. A user can move the preview pointer160 using the pointing device, e.g., by positioning the cursor over thepreview pointer 160, clicking a mouse, and dragging the preview pointer160. As the preview pointer 160 is moved, an image in the containercorresponding to the position of the preview pointer 160 can bedisplayed within the bounded region of the poster frame 110. In thismanner, the images in the container can be previewed. In otherimplementations, the scroll bar 155 can include advance tools 165 on theedges of the preview scroll bar 155. The advance tools 165 on the edgesof the preview scroll bar 155 can be configured to advance the images inthe container. For example, if the orientation of the scroll bar ishorizontal, by clicking on the advance tool on the left edge of thescroll bar using the pointing device, the user can step through eachimage in the container until the user views the first image in thecontainer. Similarly, by clicking on the advance tool on the right edgeof the scroll bar using the pointing device, the user can step througheach image in the container until the user views the last image in thecontainer. In this manner, the scroll bar can be further configured toenable a user to step through the images in the container one at a time.

The number of images that each poster frame 110 can contain is limitedonly by available storage space. The dimensions of a poster frame 110can remain constant regardless of the number of images in the containerrepresented by the poster frame 110. In a poster frame 110 displayed ona display device, a physical space (e.g., one or more pixels) in thehorizontal dimension of the poster frame 110 can represent an image. Thephysical space representing an image in a container containing fewimages may be larger when compared to that representing an image in acontainer containing several images. If the resolution of the cursor isless than the physical space representing an image, then the same imagecan be previewed by placing the cursor at multiple adjacent positions onthe poster frame 110. For example, if a container contains only twoimages, the first image can be previewed if the cursor is placed at anylocation on the left half of the poster frame 110 representing thecontainer. Similarly, the second image can be previewed if the cursor isplaced at any location on the right half of the poster frame 110representing the container. Conversely, if a poster frame 110 representsseveral images, the smallest unit of physical space of the displaydevice may be greater than the physical space required to represent animage. In such cases, if the resolution of the cursor is greater thanthe physical space representing an image, the physical space occupied bya cursor may span more than one image. Consequently, it may not bepossible to preview all the images in the container when the cursor isscanned horizontally across the poster frame 110 representing thecontainer.

In some implementations, while previewing a container, certain images ina container can be skipped if the resolution of the cursor is greaterthan the physical space representing each image in the container. Insome implementations, one or more images can be skipped based on theorder in which the images are stored. For example, when the cursor ismoved by a distance equal to the resolution of the cursor (e.g., 1pixel), two images may be skipped. In this example, as the cursor ismoved from the left edge to the right edge of the poster frame 110, thefirst, fourth, seventh image, and so on, may be displayed in place ofthe image assigned to represent the poster frame 110. In someimplementations, the size of the images can be used to skip imagesduring previews. For example, high resolution images are generally filesof larger sizes. All the high resolution images in a container may bedisplayed during a preview. Low resolution images may be excluded fromthe preview. In some implementations, the previewed images can be thoseimages that have a higher rating than other images in the container. Insome implementations, a rounding algorithm can be used to choose photosthat can either be included or excluded from the preview.

In some implementations, the tool bar can include a zoom control button.When the resolution of the cursor is greater than the physical spacerepresenting each image in a container, the zoom control button can beused to increase the granularity of the poster frame. For example, thezoom control button can be used to enlarge the poster frame. Thephysical space representing each image can be kept constant. In thismanner, the physical space representing each image can be increased toeither equal or be greater than the resolution of the cursor. In suchimplementations, upon zooming the poster frame, more images in thecontainer represented by the poster frame can be previewed by moving thecursor across the poster frame. In some implementations, the zoomcontrol button can be activated by positioning the cursor over the zoomcontrol button and clicking the mouse or other pointing device used tooperate the cursor. Alternatively, the zoom control button can beactivated by a key stroke on a key board.

In some implementations, the speed at which a cursor is scanned across aposter frame 110 can be higher than the speed at which the display ofimages in a poster frames 110 can be updated. If the speed at which thecursor is scanned across a poster frame 110 is greater than a threshold,certain images can be displayed for a preview while other images can beskipped. The images chosen for display can be based on factors includinga position of the image in the order of storage, size of the image,ratings of the image, and the like. In some implementations, if thespeed at which the cursor is scanned is high, then no image in acontainer can be previewed.

In some implementations, an image in a container can be chosen byplacing the cursor over the poster frame representing the container andclicking the mouse. Alternatively, or in addition, an image can bechosen by placing the cursor over the poster frame representing thecontainer and selecting a key on a keyboard, e.g., the “Enter” key.Additionally, when an image in a container in a poster frame 110 ispreviewed, successive images can subsequently be previewed using thekeys on the key board. For example, the user can place a cursor on aposter frame 110. In response, an image in the container can bedisplayed corresponding to the location of the cursor in the posterframe 110. Subsequently, the user can use keys on a key board (e.g.,arrow keys) to preview successive images stored in the container. Insome implementations, by pressing the right arrow key, the user can scanfrom the beginning of the container to the end of the container.Conversely, the user can scan from the end to the beginning of thecontainer using the left arrow key. In other implementations, anycombination of keys can be used to scan successive photos in thecontainer. In addition, keys and/or key sequences can be used to jump tothe beginning or end of a container from anywhere in the container. Suchkeys can include the “Home” key, the “End” key, and the like. Inaddition, keys and key sequences can also be used to jump from onecontainer to another, e.g., “Command”+“Home” key to jump to the firstcontainer, “Command”+“End” key to jump to the last container, tab key tojump from one container to the next, and the like.

In some implementations, a user can split a container into multiplecontainers using a key stroke. For example, a user previewing the imagesin a container can place the cursor at any position on the container.Subsequently, the user can strike a key, e.g., “Command” key. Inresponse, the container can be split into two containers, where eachcontainer can be represented by a poster frame. When a containerrepresented by a poster frame 110 is split into two containers, eachcontainer represented by a respective poster frame 110, the posterframes 110 in the view pane 105 can be re-positioned to accommodate thenew poster frame 110. Such re-positioning can include moving posterframes in the same row, moving a poster frame to a different row,creating a new row containing one or more poster frames, and the like.In this manner, the sequence in which the poster frames 110 aredisplayed can be retained. A new container can further be divided intotwo more containers. In some implementations, the number of containersinto which one container can be divided can be specified by a user. Insome implementations, the cursor can be positioned at a location on afirst poster frame. An image corresponding to the location of the cursorcan be displayed within the bounded region of the first poster frame.When a user strikes a key to split the first poster frame representing acontainer, the first of the two split poster frames representing thefirst split container can include all the images from the start of thefirst container to the image that was being previewed. The second of thetwo containers can include the remainder of the photographs in the firstcontainer. In some implementations, when a first container is split,each of the split containers can contain half the number of images ofthe first poster frame. In other implementations, when a first containeris divided into a number of containers specified by the user, each splitcontainers can contain the same number of images. In otherimplementations, the number of images in each split container can bespecified by the user.

In some implementations, key words can be associated with poster frames110. For example, all poster frames that represent containers containingphotographs that were taken during a time frame (e.g., the same week)can be associated with common key words. The poster frames can beidentified based on the key words and poster frames 110 associated withthe same key words can be manipulated as a group, e.g., displayed on anview pane, deleted, merged, and the like. Alternatively, a user canprovide key words to poster frames 110. For example, a user may takephotographs at an event that occurs at regular intervals of time, e.g.,every week. A user may associate a name to the photographs taken duringthe event. Subsequently, the user can identify all containersrepresented by 110 using the name. In another example, the images maycorrespond to CAD drawings where groups of drawings represent differentparts of a machine. A user may assign key words denoting a part of themachine to the images corresponding to the part.

FIG. 2A is an example of images 205 in a poster frame 110 displayed onthe view pane 105. In some implementations, a user can view the images205 in a container on the user interface 100. For example, the user canaccess the images 205 in a container by placing the cursor on a posterframe 110 representing the container and clicking the mouse used tocontrol the cursor. Alternatively, the user can open the container bychoosing the poster frame 110 representing the container and pressingkeys on the key board, e.g., the “Enter” key. In some implementations,when the user clicks on a poster frame 110 of the view pane 105, theimages 205 contained in the poster frame 110 can be displayed in theview pane 105. The images 205 in a poster frame 110 can be arranged suchthat the first image 205 in the container is positioned substantiallyadjacent to the top left corner of the view pane 105. The second image205 in the same row can be positioned to the right of the first image205 with a system assigned space separating the two images 205.Subsequent images 205 can be positioned in a similar manner. Each image205 can be assigned a horizontal and a vertical dimension. When the sumof the horizontal dimensions of the images 205 in a row and the spacesbetween the images 205 exceeds the horizontal dimension of the view pane105, the next image 205 in the container can be positioned as a firstimage 205 in a row vertically displaced from the first row, such thatthe first image 205 in the new row is substantially aligned with thefirst image 205 in the first row. In this manner, all the images 205 ina container can be arranged in one or more rows, such that the order inwhich the images 205 are stored in the container corresponds to an orderof display beginning from left to right and top to bottom. In someimplementations, the order in which images 205 are stored in a containercan be based on a chronological order in which the images 205 weretaken. In other implementations, the order can be based on analphabetical arrangement based on the file name assigned to each image205. In some implementations, a magnifying window can be positioned overthe user interface such that when a user positions a cursor over animage, the image can be displayed in the magnifying window. In thismanner, the user can preview the images in a container.

The orientation of the images 205 depends on the orientation of thecamera used to take the photographs 205 (e.g., landscape or portrait).In a default implementation, the horizontal and vertical dimensions ofan image 205 in landscape orientation can equal the horizontal andvertical dimensions of a poster frame 110 displayed in a landscapeorientation in the view pane 105. The horizontal and vertical dimensionsof an image 205 in portrait orientation can equal the vertical andhorizontal dimensions of a poster frame 110, respectively, displayed inthe view pane 105. The space separating two adjacent images 205 canequal the space separating two adjacent poster frames 110. The spaceseparating two rows of images 205 can equal the space separating tworows of poster frames 110. Images 205 displayed in a row can be ineither landscape orientation or portrait orientation. In someimplementations, the bottom edges of all the images 205 in a row can bealigned. In such implementations, the top edge of the images 205 in therow may or may not be aligned depending upon the orientations of theimages 205 positioned in that row. Alternatively, in someimplementations, the top edges of all the images 205 in a row can bealigned.

In some implementations, the number of images 205 in a containerdisplayed across one or more rows may exceed the vertical dimension ofthe view pane 105. In such implementations, a vertical scroll bar can beincorporated in the user interface 100 so the user can scroll the viewpane 105 to access images 205 that are positioned outside the viewingarea of the view pane 105. A user can use either the pointing device(e.g., mouse, track ball, stylus, touch pad, touch screen, near contactscreen) that controls the cursor, a key board, or a combination of bothto operate the vertical scroll bar and scroll the view pane 105.

In some implementations, when a user clicks on a poster frame 110, theimages 205 contained in the poster frame 110 can be displayed in theorder in which they are stored. The order can be based on the time wheneach image 205 was taken. In some implementations, one or more images205 in a container can be compared and boundaries 215 within a containercan be recommended. In some implementations, the chronological order inwhich the images 205 in the container were taken can be compared. Forexample, a user may have taken a group of photographs 205 on a firstday. Subsequently, the user may have taken a second group of photographs205 on a second day. The user may upload both groups of photographs 205simultaneously. Initially, both groups of photographs 205 may bedisplayed as belonging to the same container. The time stamp on thephotographs 205 may be compared and a recommendation may be presented tosplit the container into two groups, the first group containing thephotographs 205 taken on the first day and the second group containingthe photographs 205 taken on the second day.

In another example, the images 205 in a container may be compared basedon the content of the images 205. A container may contain a first groupof images 205 containing a blue background and a second group of images205 containing a green background. The backgrounds of the images 205 canbe compared, the images 205 of the common content (e.g., background) canbe grouped, and a recommendation may be presented that the images 205 inthe two groups may belong to separate containers. In someimplementations, one or more combinations of content of images 205 andmetadata associated with the images 205 can be used in makingcomparisons.

In some implementations, the recommendation to split a container intotwo groups can be presented by altering a display of the portion of theview pane 105 on which the thumbnails, representing the images 205identified as belonging to the same group, are positioned. FIG. 2Adepicts an example where, upon comparing the images 205 in a containerdisplayed on the view pane 105, a first group of images 205 (depicted by“I,” in FIG. 2A) and a second group of images 205 (depicted by “II,” inFIG. 2A) are identified. In a default implementation, the display of theportion of the view pane 105 on which the images 205 of group I arepositioned can be changed to a background 200. Similarly, the display ofthe portion of the view pane 105 on which the images 205 of group II arepositioned can be changed to a background 210. In addition, the twogroups can be separated by a boundary 215.

In some implementations, it may be determined that images 205 in acontainer can belong to multiple groups. In such cases, the display ofthe view pane 105 can be changed such that images 205 identified asbelonging to the same group have a common background, regardless of thenumber of groups. Images 205 identified as belonging to the same groupcan be adjacently positioned in the same row or separately on the sameor different rows.

In some implementations, in addition to providing a recommendation tosplit a container into two or more containers based on view pane 105display, a user can be provided with mechanisms to accept or reject therecommendations or, alternatively, make user-modifications to the groupsin a container. In some implementations, an “OK” button can be displayedat the boundary. A user can accept the boundary by positioning thecursor on the “OK” button and clicking the mouse configured to operatethe cursor. In some implementations, when a user positions a cursor onan boundary 215, a merge icon 220 (e.g., a “+” sign) can be displayed atthe boundary 215. If a user clicks on the merge icon 220, the two groupsseparated by the boundary 215 can be merged into the same group. Uponmerging, the background display of the view pane 105 for the two groupscan be changed to be uniform.

FIG. 2B is an example of images 205 in a poster frame 110 displayed onthe view pane 105. In some implementations, when a user positions thecursor at the boundary 215 between two groups of images 205, a changeboundary icon 225 can be presented. An boundary 215 can be positionedbetween a last image 205 of a first group and a first image 205 of thelast group. A user can drag the change boundary icon 225 from a currentposition between two images 205 to a new position between any two images205. The new position of the change boundary icon 225 can be either onthe same row as or a different row from that of the current position.The two images 205 between which the boundary 215 is positioned caneither be positioned adjacent to each other on the same row or be thelast image 205 of a first row and the first image 205 of a subsequent,vertically displaced row. Subsequent to moving a change boundary icon225 to a desired position, a user can split a container into two groupsof images 205.

FIG. 2C is an example of images 205 in a poster frame 110 displayed onthe view pane 105. In some implementations, the user can choose anboundary 215 within a container or within a group in a container. Insuch implementations, when the user positions the cursor between twoimages 205 in a container or within a group, a split icon 230 (e.g., a“x” sign) can be displayed. The two images 205 can either be positionedadjacent to each other in the same row or be the last image 205 in afirst row and the first image 205 in a subsequent, vertically displacedrow. When the user clicks on the split icon 230, a boundary 215 can becreated between the two images 205 where the split icon 230 waspositioned.

In implementations with no boundaries in a container, when a useridentifies a boundary 215 between a first and a second image 205 in thecontainer, the images 205 from the beginning of the container to thefirst image 205 can be grouped to create a first container. Similarly,the images 205 from the second image 205 to the end of the container canbe grouped to create a second container. Subsequently, when a view pane105 displaying poster frames 110 representing containers is displayed,what was originally one poster frame 110 can be displayed as two posterframes 110, each poster frame 110 representing a container containingimages 205 of the first and second groups, respectively.

In some implementations, one or more boundaries 215 may already beidentified in a container. In such implementations, the user can specifya boundary 215 between two images 205 in a group by positioning andclicking the split icon 230 between two images 205 in the group. A firstgroup including the images 205 beginning from the first image 205 of thegroup to the first of the two images 205 between which the userspecified a boundary 215 can be created. A second group including theimages 205 beginning from the second of the two images 205 between whichthe user specified boundary 215 to the last image 205 of the group canbe created. In other implementations, a user can drag an image 205 fromone group and include the image 205 in another group. The user can dragthe images 205 across boundaries 215 by operations including drag anddrop using the pointing device used to operate the cursor, cut and pasteusing the key board, or combinations of the pointing device and thekeyboard. In this manner, a user can split images 205 in a containerinto one or more containers.

Subsequent to grouping images 205 into containers, when the posterframes 110 representing containers are displayed on the view pane 105,each group that was created in a container can be displayed by a newposter frame 110. The new poster frame 110 for each group can positionedat and adjacent to the same location as the poster frame 110 for thecontainer. The remaining poster frames 110 in the view pane 105 can berepositioned such that the order of display of poster frames 110, whichcan represent the time line in which the images 205 in each containerwere taken is maintained.

FIG. 3 is a flow chart showing an example of a method for arrangingposter frames 110 in a view pane 105. A view pane 105 can be displayedin a user interface 100 at 300. A plurality of poster frames 110 can bedisplayed within the view pane 105 at 305. The poster frames 110 canrepresent containers that include images. The first poster frame 110 canbe positioned substantially adjacent to the left edge of the view paneat 310. In some implementations, the position of the first poster frame110 can be substantially adjacent to the corner of the left and topedges of the view pane 105. A subsequent poster frame 110 can bearranged substantially adjacent to the first poster frame in the firstrow at 315. In some implementations, the subsequent frame 110 can bepositioned to the right of the first poster frame 110 in the first rowand can be separated from the first poster frame 110 by a pre-definedspace. As subsequent frames 110 are arranged in the first row, it can bechecked if a poster frame 110 is positioned next to the right edge ofthe view pane 105 at 320. If the poster frame 110 is not positionedsubstantially adjacent to the right edge of the view pane 105, then theposter frames 110 can continue to be arranged in the first row of theview pane 105. Otherwise, a subsequent poster frame 110 can be arrangedin a second row vertically displaced from the first row at 325. Theposter frame 110 in the second row can be positioned substantiallyvertically aligned with the first poster frame 110 in the first row. Inthis manner, poster frames 110 can be arranged for display in the viewpane 110.

FIG. 4 is a flow chart depicting an example of a method for previewingimages in a container. A container can be represented by a poster frame110 displayed in a view pane 105. A cursor, operated on a display deviceon which the view pane 105 is displayed, can be positioned on the posterframe 110. The position of the cursor within the poster frame 110 can bedetermined at 400. An image corresponding to the cursor position withinthe poster frame can be displayed in the bounded region of the posterframe 110 at 405. In some implementations, the images can be arrangedsuch that either a horizontal motion, a horizontal component of motion,or both, of a cursor cause the images in the container to be updated. Insuch implementations, a vertical motion does not cause the images to beupdated. Further, the cursor can be positioned at any location on theposter frame 110 for an image to be displayed in the bounded region ofthe poster frame 110. Subsequently, the position of the cursor may bealtered. If it is determined that a cursor has moved to a new position(410), the poster frame can be updated to display a new imagecorresponding to the new position at 415. Otherwise, the imagecorresponding to the current position of the cursor can continue to bedisplayed in the bounded region of the poster frame 110.

FIG. 5 depicts an example of images in a container displayed in anoverview mode. In some implementations, when a user accesses the imagesin a container, the view pane can display an overview of the images inthe container. The overview mode can display one or more images 500 inthe container, but not all the photographs in the container. The images500 displayed in the overview mode can be chosen based on factorsincluding one or more of the size of the image, the ratings of theimage, user specification, and the like. For example, the overview modecan display one, more, or all the high resolution images in thecontainer. In addition, the overview mode can display a photo displaytool. The user can view all the images in the container by clicking onthe photo display tool. In some implementations, the photo display toolcan be positioned over one of the images in the overview mode. In otherimplementations, the photo display tool can be positioned away from theimages in the overview mode.

FIGS. 6A-6D depict examples of images in a container displayed in amagnifying frame, where the magnifying frame is displayed adjacent tothe poster frame representing the container. In some implementations,the container including images can be represented by a poster frame 605displayed within a view pane. When a user selects the container, e.g.,by clicking the mouse on the poster frame 605 representing thecontainer, a magnifying frame 610 can be displayed adjacent to thecontainer. The dimensions of the magnifying frame 610 can be larger thanthose of the poster frame 605 representing the container. When the userpositions a cursor 615 over the poster frame 605, an image in thecontainer, corresponding to the position of the cursor can be displayedin the poster frame 605. In addition, the image displayed in the posterframe 605 can also be displayed in the magnifying frame 610. Forexample, the container represented by poster frame 605 can includeimages 1-4. When the cursor 615 is positioned at a first position on theposter frame 605, as illustrated in FIG. 6A, image 1 can be displayed inposter frame 605 and in the magnifying frame 610. When the cursor 615 isre-positioned to a second position on the poster frame 605, asillustrated in FIG. 6B, image 2 can be displayed in poster frame 605 andin the magnifying frame 610. Similarly, when the cursor is re-positionedto other positions on the poster frame 605, e.g., position 3 in FIG. 6Cand position 4 in FIG. 6D, images 3 and 4 can be displayed in the posterframe 605 and in the magnifying frame 610, respectively. Because thedimensions of the magnifying frame 610 are larger than those of thecorresponding poster frame 605, the magnifying frame 610 can enable theuser to preview a physically larger image than can be previewed in theposter frame 605. In some implementations, the magnifying frame 610 canbe displayed in response to a user clicking the mouse after positioningthe cursor 615 over the poster frame 605.

In some implementations, the user can cause the magnifying frame 610 tobe hidden from display and preview the images only in the poster frame605. In implementations where several containers are displayed in a userinterface, when the user re-positions the cursor from over a firstposter frame to over a second poster frame, the magnifying framecorresponding to the first poster frame can be hidden. When the userselects the second poster frame, a magnifying frame corresponding to thesecond poster frame can be displayed adjacent to the second posterframe. When the user re-positions the cursor over the first posterframe, the magnifying frame corresponding to the first poster frame canbe displayed without requiring the user to select the first poster frameagain. Alternatively, the user can cause a magnifying framecorresponding to the first poster frame to be displayed and move thecursor away from the first poster frame. This movement of the cursoraway from the first poster frame can cause the corresponding magnifyingframe to be hidden from display. Subsequently, to display the magnifyingframe corresponding to the first poster frame, the user can select thefirst poster frame, e.g., click the mouse upon positioning the cursorover the first poster frame, to cause the corresponding magnifying frameto be displayed.

FIG. 7 depicts an example of a magnifying frame displaying a selectiontool to enable a user to select an image displayed in the magnifyingframe. In some implementations, the container including images can berepresented by a poster frame 705. The user can position a cursor 710over the poster frame 705 and select the poster frame 705 causing amagnifying frame 715 to be displayed adjacent to the poster frame 705.When the user positions a cursor 710 over the poster frame 705, an imagein the container, corresponding to the position of the cursor, can bedisplayed in the poster frame 705. In addition, the image displayed inthe poster frame 705 can also be displayed in the magnifying frame 715.When the user moves the cursor 710 to a new position over the posterframe 705, a new image corresponding to the new position of the cursor710 can be displayed both in the poster frame 705 and in the magnifyingframe 715. Further, a selection tool 720 can be displayed within theregion bounded by the magnifying frame 715. The selection tool 720 canbe configured such that when a user selects the selection tool 720,e.g., by positioning the cursor over and clicking on the selection tool720, the image displayed in the magnifying frame 715 can be selected,e.g., marked. Subsequently, the user can move the cursor 710 todifferent positions on the poster frame 705 representing the container,preview images corresponding to each of the different positions, andmark one or more of the previewed images by selecting the selection tool720. In this manner, the user can mark several images. Subsequently, theuser can filter the images in the container to group only the imagesmarked using the selection tool 720. Alternatively, the user can filterthe images to group those images not marked using the selection tool720.

In some implementations, the selection tool 720 can be positionedadjacent to the magnifying frame 715. In other implementations, a menucan be displayed adjacent to the cursor 710 in response to user input,e.g., click of a mouse button. The menu can include a “Select” option.When the user clicks on the “Select” option, the image in the magnifyingframe 715 can be selected. Subsequently, the user can move the cursor710 to a second position, display the menu and select another image. Inthis manner, the user can select one or more images using the “Select”option on a menu displayed adjacent to the cursor 710 over a posterframe 705. In some implementations, the selection tool 720 can bedisplayed when the magnifying frame 715 is displayed. Alternatively, theselection tool 720 can be displayed in response to a user invoking theselection tool 720. For example, the magnifying frame 715 can beconfigured such that when the magnifying frame 715 is selected, e.g., bypositioning the cursor 710 over the magnifying frame and clicking thepointing device controlling the cursor 710, the selection tool 720 canbe displayed.

FIGS. 8A and 8B depict schematics of examples of poster frames dependingon cursor position on the poster frame. In some implementations, aposter frame 805 representing a container including images can bedisplayed in a user interface on a display device. A magnifying frame810 corresponding to a poster frame 805 can be displayed on the displaydevice when the user positions the cursor 815 over the poster frame 805and selects the poster frame 805, e.g., clicks the pointing device, suchas a mouse, used to control the cursor 815. In addition, the user canalso use the pointing device controlling the cursor 815 to access theimages in the container represented by the poster frame 805. In someimplementations, the user can select the poster frame 805, e.g., bypositioning the cursor 815 over the poster frame 805 and clicking thepointing device controlling the cursor 815.

The poster frame can be divided into two portions and each portion canbe associated with a selection operation. In order to enable a user todisplay a magnifying frame 810 corresponding to a poster frame 805 witha first poster frame selection operation, and to enable the user toaccess the images in the container represented by the poster frame 805with a second poster frame selection operation, the poster frame 805 canbe divided into two portions by a horizontal demarcation line 820. Insome implementations, the division of the poster frame 805 into twoportions can occur when the user selects the poster frame 805 to displaythe corresponding magnifying frame 810. The demarcation line 820 candivide the poster frame 805 such that the portion above the demarcationline 820 constitutes a larger portion of the poster frame 805 relativeto the portion below the demarcation line 820. For example, the portionabove the demarcation line 820 can constitute two-thirds of the area ofthe region bounded by the poster frame 805. Alternatively, thedemarcation line 820 can divide the poster frame 805 into halves. Insome implementations, the demarcation line 820 can be invisible to auser. In other implementations, the demarcation line 820 can bedisplayed over the poster frame 805.

When the cursor 815 is positioned in the portion of the poster frame 805over the demarcation line 820, an image corresponding to the position ofthe cursor 815 can be displayed in, both, the poster frame 805 and themagnifying frame 810. When the user moves the cursor 815 to a newposition on the portion of the poster frame 805 above the demarcationline 820, the image in the poster frame 805 and in the magnifying frame810 can be updated to display a new image corresponding to the newposition of the cursor 815. In this manner, the portion of the posterframe 805 above the demarcation line 820 can be designated forpreviewing images in the container represented by the poster frame 805.

When the cursor is positioned in the portion of the poster frame 805below the demarcation line 820, a grid can be displayed in the entireregion bounded by the poster frame 805. The display of the grid can be avisual cue indicating that a selection of the poster frame 805, usingthe pointing device controlling the cursor 815, will enable access tothe images in the container represented by the poster frame 805.Subsequently, when the user selects the poster frame 805, e.g., clicksthe pointing device controlling the cursor 815, the user can access theimages in the container represented by the poster frame 805. Forexample, when the user clicks the poster frame 805, the images in thecontainer can be displayed on the display device. In someimplementations, the grid can include several rectangular regions, whereeach rectangular region displays an image in the container. In someimplementations, the grid can be generated such that the number ofrectangular regions equals the number of images in the container.Alternatively, the number of rectangular regions can be fixed and one ormore rectangular regions can be empty if the number of images in thecontainer is less than the number of rectangular regions in the grid. Insome implementations, if the number of rectangular regions is less thanthe number of images in the container, not all images in the containercan be displayed in the grid. In this manner, the user can position thecursor 815 over a portion of the poster frame 805 to preview the imagesin the container represented by the poster frame 805. The user can alterthe position of the cursor 815 to a second portion of the poster frame805 causing a grid to be displayed indicating that the user can selectthe poster frame 805 to access the images in the container.

In some implementations, the poster frame can be configured such thatmoving the cursor in a vertical direction can cause an updating of theimages in the region occupied by the poster frame. In suchimplementations, the demarcation line 820 can be vertical such thatpositioning the cursor to the left of the demarcation line 820 canenable previewing the images in the container in the poster frame andthe magnifying frame, while positioning the cursor to the right of thedemarcation line can cause a grid to be displayed in the poster frame,indicating to the user that the poster frame can be selected to accessthe images in the container.

FIG. 9 depicts a flow chart of an example of a method for displaying amagnifying frame corresponding to a poster frame representing acontainer including images. In some implementations, the poster framecan be displayed in a user interface which, in turn, can be displayed ina display device. A cursor, controlled by a pointing device, e.g., amouse, can be displayed in the display device. A user can position thecursor over the poster frame. The position of the cursor within a posterframe can be determined at 905. An image corresponding to the cursorposition can be displayed within the region bounded by the poster frameat 910. A user can position the cursor over a poster frame and selectthe poster frame, e.g., by clicking the mouse controlling the cursor.The selection of the poster frame can be detected at 915. In response tothe selection, a new poster frame, representing a magnifying frame, canbe displayed adjacent to the poster frame at 920. The image,corresponding to the cursor position, displayed in the poster frame canbe displayed within the bounded region of the new poster frame at 925. Auser can move the cursor to a new position in the poster frame. Themovement of the cursor to a new position in the poster frame can bedetected at 930. A new image, corresponding to the new position of thecursor, can be displayed in the region bounded by the poster frame. Inaddition, the new image can be displayed within the region bounded bythe new poster frame at 935. In this manner, as the position of thecursor in the poster frame is changed, the images displayed in theposter frame and the new poster frame are also updated, thereby enablinga user to preview the images in the container represented by the posterframe. The dimensions of the new poster frame can be larger than thoseof the poster frame, thereby providing a magnified view of eachpreviewed image.

FIG. 10 depicts a flow chart of an example of a method for enabling auser to select an image displayed in a new frame, e.g., a magnifyingframe. In some implementations, the poster frame can be displayed in auser interface which, in turn, can be displayed in a display device. Acursor, controlled by a pointing device, e.g., a mouse, can be displayedin the display device. A user can position the cursor over the posterframe. The position of the cursor within a poster frame can bedetermined at 1005. An image corresponding to the cursor position can bedisplayed within the region bounded by the poster frame at 1010. A usercan position the cursor over a poster frame and select the poster frame,e.g., by clicking the mouse controlling the cursor. The selection of theposter frame can be detected at 1015. In response to the selection, anew poster frame, representing a magnifying frame, can be displayedadjacent to the poster frame at 1020. The image, corresponding to thecursor position, displayed in the poster frame can be displayed withinthe bounded region of the new poster frame at 1025. In someimplementations, the image displayed within the new poster frame can beselected. For example, the new poster frame can be the magnifying frameand a selection tool can be positioned within the magnifying frame. Theuser can select the selection tool, e.g., by positioning the cursor overthe selection tool and clicking the pointing device. The selection ofthe selection tool can cause the image displayed in the magnifying frameto be selected. In this manner, an image displayed in the magnifyingframe can be marked. The selection of the image displayed in the newposter frame can be detected at 1030. Subsequently, the user can movethe cursor to a new position on the poster frame. This change inposition can cause a new image to be displayed in, both, the posterframe and in the new poster frame. Further, the user can select the newimage in the new poster frame by, e.g., selecting the selection tool. Inthis manner, the user can select one or more images displayed in the newposter frame and mark the one or more images. The user can be enabled toselect the image displayed in the new poster frame at 1035. The user cangroup the marked images and perform operations on the group such asfiltering the container to display only the images in the group,filtering the container to display images other than the images in thegroup, transfer the grouped images to a location, edit the groupedimages, and the like.

FIG. 11 depicts a flow chart of an example of a method for altering thedisplay of a container based on cursor position on a portion of a posterframe representing the container. In some implementations, the posterframe can be displayed in a user interface which, in turn, can bedisplayed in a display device. A cursor, controlled by a pointingdevice, e.g., a mouse, can be displayed in the display device. A usercan position the cursor over the poster frame. The position of thecursor within a poster frame can be determined at 1105. An imagecorresponding to the cursor position can be displayed within the regionbounded by the poster frame at 1110. A user can position the cursor overa poster frame and select the poster frame, e.g., by clicking the mousecontrolling the cursor. The selection of the poster frame can bedetected at 1115. In response to the selection, a new poster frame,representing a magnifying frame, can be displayed adjacent to the posterframe at 1120. The image, corresponding to the cursor position,displayed in the poster frame can be displayed within the bounded regionof the new poster frame at 1125. In some implementations, the user canselect the poster frame to display the new poster frame by positioningthe cursor on the poster frame and clicking the mouse. In addition, theuser can select the poster frame to access the images in the containerrepresented by the poster frame. For example, the user can position thecursor on the poster frame and select the poster frame, causing theimages in the poster frame to be displayed in the display device.However, the clicking of the mouse is configured to cause the display ofthe new poster frame to enable previewing the images in the poster frameand in the new poster frame. In order to enable a user to preview imagesin a container and to access the images in the container represented bythe poster frame, the poster frame can be divided into two portions. Insome implementations, the two portions can be divided by a demarcationline which may or may not be displayed on the poster frame. The twoportions can be of the same size or of different sizes. For example, thefirst portion of the poster frame that is configured to enablepreviewing the images in the poster frame and the new poster frame canbe two-thirds the size of the poster frame while the second portionconfigured to enable accessing the images in the container can beone-thirds the size of the poster frame.

The user can position the cursor over one of the two portions into whichthe poster frame is divided. A check can be performed to determine ifthe new position of the cursor is on the first or the second portion at1135. If the new position is on the first portion, then an imagecorresponding to the new position can be displayed in the poster frameat 1140. In addition, the image corresponding to the new position can bedisplayed in the new poster frame. If the new position is on the secondportion of the poster frame, then a grid can be displayed in the posterframe at 1145. The display of the grid can be a visual cue thataccessing the images in the container represented by the poster frame ispossible. Subsequently, selecting the poster frame to access images inthe album represented by the poster frame can be enabled at 1150. Forexample, upon viewing the display of the grid in the poster frame, auser can click the mouse causing the images in the container to bedisplayed on the display device. In some implementations, the griddisplayed in the poster frame can be divided into a number ofrectangular regions equal to the number of images in the container.Alternatively, the grid can be divided into a fixed number ofrectangular regions and the images in the container can be displayed inall or fewer than all the rectangular regions in the grid.

Implementations of the subject matter and the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Implementationsof the subject matter described in this specification can be implementedas one or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a computer-readable medium forexecution by, or to control the operation of, data processing apparatus.The computer-readable medium can be a machine-readable storage device, amachine-readable storage substrate, a memory device, or a combination ofone or more of them. The term “data processing apparatus” encompassesall apparatus, devices, and machines for processing data, including byway of example a programmable processor, a computer, or multipleprocessors or computers. The apparatus can include, in addition tohardware, code that creates an execution environment for the computerprogram in question, e.g., code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, or acombination of one or more of them. A propagated signal is anartificially generated signal, e.g., a machine-generated electrical,optical, or electromagnetic signal, that is generated to encodeinformation for transmission to suitable receiver apparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand-alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a mobile telephone, a personal digital assistant(PDA), a mobile audio player, a Global Positioning System (GPS)receiver, to name just a few. Computer-readable media suitable forstoring computer program instructions and data include all forms ofnon-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech,near-touch input, or tactile input.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a graphical user interface ora Web browser through which a user can interact with an implementationof the subject matter described is this specification, or anycombination of one or more such back-end, middleware, or front-endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the disclosure or of what maybe claimed, but rather as descriptions of features specific toparticular implementations of the disclosure. Certain features that aredescribed in this specification in the context of separateimplementations can also be implemented in combination in a singleimplementation. Conversely, various features that are described in thecontext of a single implementation can also be implemented in multipleimplementations separately or in any suitable subcombination. Moreover,although features may be described above as acting in certaincombinations and even initially claimed as such, one or more featuresfrom a claimed combination can in some cases be excised from thecombination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the subject matter. For example, as theslider 135 on the user interface 100 is operated to reduce the size ofthe thumbnails representing frames (e.g., poster frames 110, thumbnailsrepresenting images 205), the horizontal dimension of a row ofthumbnails can be decreased. In some implementations, thumbnails fromone row can be repositioned to another row so that the horizontaldimension of the rows equals the horizontal dimension of the view pane105. In other implementations, even if the horizontal dimension of therow decreases due to decrease in thumbnail dimensions, each thumbnailcan be retained in the same position on the row.

In some implementations, moving the pointer 137 on the slider 135 to theright can cause an increase in the dimensions of the thumbnails. In suchimplementations, when the pointer 137 on the slider 135 is positioned atthe right extreme of the slider 135, each thumbnail (e.g., poster frame,thumbnail representing an image 205) in the view pane 105 can occupy theentire view pane 105. In such implementations, a navigation mechanismmay be incorporated into the tool bar 125 so that a user may navigate toaccess the thumbnails on the view pane 105.

In some implementations, the user can view each image 205 in a containerin the view pane 105 by choosing the image 205. When a user views one ofthe images 205 in the container, the remainder of the images 205 in thecontainer can be displayed as thumbnails in an additional pane above theview pane 105. In such implementations, the user can choose the nextimage 205 that the user wishes to view from the additional panedisplayed above the view pane 105.

In some implementations, the two dimensional time line may correspond toa vertical positioning of thumbnails. For example, the poster frames 110can be arranged vertically in columns. When the sum of the verticaldimensions of the poster frames 110 and the spaces between the framesexceeds the vertical dimension of the view pane 105, subsequent posterframes can be positioned in a new, horizontally displaced column. Thefirst poster frame 110 of the new column can be substantially verticallyaligned with the first poster frame 110 of the previous column. In thismanner, vertical scrolling to access poster frames outside the viewingarea of the view pane 105 can be avoided. When the space occupied by thecolumns exceeds the horizontal dimension of the view pane 105, ahorizontal scroll bar can be incorporated in the user interface 100 toallow the user to navigate to access columns of thumbnails 110 that maylie outside the viewing area of the view pane 105.

In some implementations, thumbnails representing images 205 can also bedisplayed in columns. In other implementations, the horizontal orvertical display of poster frames and/or images 205 can be based on userinput.

In some implementations, two or more poster frames 110 displayed on theview pane 105 can be merged. In other implementations, when a user scansa mouse across a poster frame 110, two images 205 positionedconsecutively in the container represented by the poster frame 110 canbe displayed on the frame such that the first of the two images 205 isdisplayed on the left half of the poster frame 110 and the second image205 is displayed on the right half. Based on the display, the user cancreate boundaries 215 between the two images 205. In suchimplementations, a container can be split into two containers, such thatthe first split container contains images 205 beginning from the startof the container to the first image 205, while the second splitcontainer contains images 205 from the second image 205 to the end ofthe container. Subsequently, each split container can be represented bya separate poster frame 110.

In some implementations, each container can be represented by more thanone frame. A second slider 135 may be incorporated in the tool bar 125and operatively coupled to change the number of poster frames 110 usedto represent a container. For example, a user may position the slider135 such that a poster frame 110 is represented by two frames. In suchcases, when the user positions the cursor over one of the two frames110, a first image 205 corresponding to the position of the cursor onthe poster frame 110 can be displayed on the first poster frame 110. Animage 205 adjacent to the displayed image 205 can be displayed on thesecond poster frame 110. Based on the display, the user can createboundaries 215 between two images 205.

In some implementations, a user can create a new container whilepreviewing a container by scanning the cursor across the poster frame110. When a user creates a new container, an icon representing a newcontainer can be displayed on the project pane 115. When the userpositions the cursor on the poster frame 110, an image 205 correspondingto the position of the cursor on the poster frame 110 can be displayed.The user can include the image 205 in the new container by operationsincluding drag and drop using the pointing device, copy and paste usingthe keyboard, or combinations of pointing device and keyboardoperations. In this manner, the user can create one or more containersof images 205 chosen from different containers represented by posterframes 110 on the view pane 105.

The dimensions of the user interface 100 can be altered based on userinput using a pointing device to operate a cursor, a keyboard, or both.In some implementations, altering the dimensions of the user interface100 causes the dimensions of the thumbnails in the view pane 105 in theuser interface 100 to be changed. In other implementations, despite achange in the dimensions of the user interface 100, the dimensions ofthe thumbnails remains unaltered.

In some implementations, a view pane 105 may represent folderscontaining files. As a user scrolls across the poster frame 110,metadata associated with the document in the folder (e.g., file name,date of creation, last date of editing, and the like) can be displayedon the poster frame 110. In other implementations, each poster frame 110can represent a document, e.g., a text document. As the user scrollsacross the poster frame 110, each page in the document can be displayedon the poster frame 110. In this manner, a user may be able to previewthe contends of the text document. In other implementations, the filecan be a Adobe PDF file and each page on the PDF file can be displayedon the poster frame, the file can be a Microsoft Power Point file andeach slide in the Power Point file can be displayed on the poster frame,the file can be a Microsoft Excel file and each spreadsheet in the Excelfile can be displayed on the poster frame, and the like.

In some implementations, the user interface including the view pane andthe poster frames representing containers of images can be viewed onvirtually any suitable display device connected to the storage device onwhich the images are stored. The display device can include a computermonitor, an LCD screen, a projection screen, and the like.Alternatively, or in addition, the user interface and the images can betransmitted over a network (e.g., wired, wireless, internet, and thelike) for display on a remote display device. In some implementations,the images to be viewed can be stored locally and can be viewed from aremote location. A system in the remote location can be operativelycoupled to the local system to communicate over a network, e.g., theinternet. The local system can be a server where the images can bestored and the user interface and other features of the user interfacecan be installed. The remote system can be a computer connected to theinternet. A user at the remote system can enter a uniform resourcelocator (URL) pointing to the server in a web browser. In response, thelocal system can present the remote system with the user interface.Using the user interface, a user in the remote location can previewimages. In some implementations, the images may reside on the localsystem. A user at the remote system can preview the images in the localsystem. In other implementations, the user at the remote system canpreview images stored in the remote system using the user interfacetransmitted to the remote system from the local system over the network.In some implementations, a first user at a first remote location canperform operations including previewing images in the local or firstremote system, creating containers of images, and the like, andsubsequently transmit the containers with images to the local system.Subsequently, a second user wishing to view the images created by thefirst user can establish a connection with the local system. The localsystem can transmit the user interface to the second user. In thismanner, the second user at the second remote location can view thecontents of the containers created by the first user. In otherimplementations, the first user can transmit the containers containingimages to the second user. The second user can access the user interfacein the local system to view the images in the containers stored in thesecond user's remote system. Alternatively, the second user can accessthe images stored in the first user's system and preview the imagesusing the user interface transmitted to the second user from the localsystem. In this manner, images stored in one location can be viewed andmanipulated at a different location.

In some implementations, the magnifying frame can be positioned over theposter frame representing the container including images. For example,when the user positions a cursor over a poster frame representing acontainer and selects the poster frame, the magnifying frame can bedisplayed over the poster frame. This can enable a user to preview theimages in the container in the magnifying frame. In addition, themagnifying frame can be configured such that a portion of the magnifyingframe can correspond to one of more images in the container. When theuser positions the cursor over a portion of the magnifying frame, theimage corresponding to the portion of the magnifying frame over whichthe cursor is positioned can be displayed in the magnifying frame. Inaddition, the magnifying frame can be configured to enable a user toperform operations on the image displayed in the magnifying frame, suchas printing, transmitting via e-mail, hiding, selecting, and the like.

In other implementations, as the user is moving the cursor across theposter frame representing a container including images, the user canpreview the images in the poster frame. When the user views an image ofinterest, the user can select the poster frame displaying the image.This selection can cause a magnifying frame to be displayed eitheradjacent to the poster frame or over the poster frame. The magnifyingframe can display the image that the user selected. The user can previewthe image in the magnifying frame and/or perform operations includingprinting, hiding, selecting, transmitting via e-mail, and the like.Subsequently, the user can cause the magnifying frame to be hidden andcontinue previewing other images in the container. Accordingly, otherimplementations are within the scope of the following claims.

What is claimed is:
 1. A computer-implemented method, comprising:displaying, within a user interface, a first frame represented by afirst bounded region, wherein the first frame represents a containerthat comprises a plurality of digital photos, wherein the digital photosin the first frame are displayed sequentially as a pointing object moveswithin the first frame; detecting a selection of a position in the firstframe; in response to detecting the selection: displaying a digitalphoto in the first frame such that the displayed digital photo occupiessubstantially all of the first bounded region; displaying, within theuser interface, a second frame represented by a second bounded region,wherein the second frame is larger than the first frame; andconcurrently displaying in the second frame the same digital photo beingdisplayed in the first frame.
 2. The method of claim 1, wherein thesecond frame is displayed adjacent to the first frame.
 3. The method ofclaim 1, wherein detecting a selection of a position in the first framecomprises detecting a positioning of the pointing object at the positionin the frame.
 4. The method of claim 1, wherein the pointing objectincludes a cursor.
 5. The method of claim 1 further comprising:detecting a selection of another position in the first frame; inresponse to detecting the selection of the other position in the firstframe, displaying another digital photo in the first frame, wherein theother digital photo corresponds to the other position in the firstframe; and concurrently displaying the other digital photo in the secondframe.
 6. The method of claim 1, further comprising: detecting ade-selection of the first frame; and in response to detecting thede-selection of the third frame, hiding from display the second framerepresented by the second region.
 7. The method of claim 6, wherein thecontainer represented by the first frame is a first container, andwherein the method further comprises; displaying, within the userinterface, a third frame adjacent the first frame, the third framerepresented by a third bounded region, wherein the third framerepresents a second container that comprises a plurality of digitalphotos, wherein the digital photos in the third frame are displayedsequentially as the pointing object moves within the frame; detecting aselection of the third frame; in response to detecting the selection ofthe third frame: displaying a digital photo in the third frame such thatthe displayed digital photo occupies substantially all of the thirdbounded region; displaying, within the user interface, the second framerepresented by the second bounded region, wherein the second frame islarger than the third frame; and concurrently displaying in the secondframe the same digital photo being displayed in the third frame.
 8. Acomputer-readable medium storing instructions executable by one or moreprocessors to perform operations comprising: displaying, within a userinterface, a first frame represented by a first bounded region, whereinthe first frame represents a container that comprises a plurality ofdigital photos, wherein the digital photos in the first frame aredisplayed sequentially as a pointing object moves within the firstframe; detecting a selection of a position in the first frame; inresponse to detecting the selection: displaying a digital photo in thefirst frame such that the displayed digital photo occupies substantiallyall of the first bounded region; displaying, within the user interface,a second frame represented by a second bounded region, wherein thesecond frame is larger than the first frame; and concurrently displayingin the second frame the same digital photo being displayed in the firstframe.
 9. The medium of claim 8, wherein the second frame is displayedadjacent to the first frame.
 10. The medium of claim 8, whereindetecting a selection of a position in the first frame comprisesdetecting a positioning of the pointing object at the position in theframe.
 11. The medium of claim 8, wherein the pointing object includes acursor.
 12. The medium of claim 8, wherein the operations furthercomprise: detecting a selection of another position in the first frame;in response to detecting the selection of the other position in thefirst frame, displaying another digital photo in the first frame,wherein the other digital photo corresponds to the other position in thefirst frame; and concurrently displaying the other digital photo in thesecond frame.
 13. The medium of claim 8, wherein the operations furthercomprise: detecting a de-selection of the first frame; and in responseto detecting the de-selection of the third frame, hiding from displaythe second frame represented by the second region.
 14. The medium ofclaim 13, wherein the container represented by the first frame is afirst container, and wherein the operations further comprise;displaying, within the user interface, a third frame adjacent the firstframe, the third frame represented by a third bounded region, whereinthe third frame represents a second container that comprises a pluralityof digital photos, wherein the digital photos in the third frame aredisplayed sequentially as the pointing object moves within the frame;detecting a selection of the third frame; in response to detecting theselection of the third frame: displaying a digital photo in the thirdframe such that the displayed digital photo occupies substantially allof the third bounded region; displaying, within the user interface, thesecond frame represented by the second bounded region, wherein thesecond frame is larger than the third frame; and concurrently displayingin the second frame the same digital photo being displayed in the thirdframe.
 15. A system comprising: one or more processors; and acomputer-readable medium storing instructions executable by one or moreprocessors to perform operations comprising: displaying, within a userinterface, a first frame represented by a first bounded region, whereinthe first frame represents a container that comprises a plurality ofdigital photos, wherein the digital photos in the first frame aredisplayed sequentially as a pointing object moves within the firstframe; detecting a selection of a position in the first frame; inresponse to detecting the selection: displaying a digital photo in thefirst frame such that the displayed digital photo occupies substantiallyall of the first bounded region; displaying, within the user interface,a second frame represented by a second bounded region, wherein thesecond frame is larger than the first frame; and concurrently displayingin the second frame the same digital photo being displayed in the firstframe.
 16. The system of claim 15, wherein the second frame is displayedadjacent to the first frame.
 17. The system of claim 15, whereindetecting a selection of a position in the first frame comprisesdetecting a positioning of the pointing object at the position in theframe.
 18. The system of claim 15, wherein the pointing object includesa cursor.
 19. The system of claim 15, wherein the operations furthercomprise: detecting a selection of another position in the first frame;in response to detecting the selection of the other position in thefirst frame, displaying another digital photo in the first frame,wherein the other digital photo corresponds to the other position in thefirst frame; and concurrently displaying the other digital photo in thesecond frame.
 20. The system of claim 15, wherein the containerrepresented by the first frame is a first container, and wherein theoperations further comprise: detecting a de-selection of the firstframe; in response to detecting the de-selection of the third frame,hiding from display the second frame represented by the second region;displaying, within the user interface, a third frame adjacent the firstframe, the third frame represented by a third bounded region, whereinthe third frame represents a second container that comprises a pluralityof digital photos, wherein the digital photos in the third frame aredisplayed sequentially as the pointing object moves within the frame;detecting a selection of the third frame; in response to detecting theselection of the third frame: displaying a digital photo in the thirdframe such that the displayed digital photo occupies substantially allof the third bounded region; displaying, within the user interface, thesecond frame represented by the second bounded region, wherein thesecond frame is larger than the third frame; and concurrently displayingin the second frame the same digital photo being displayed in the thirdframe.